package com.xf.lastmall.order.api.model;

import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;

/**
 * <p>
 * 退货记录表
 * </p>
 *
 * @author mybatis plus自动生成代码类：MybatisResourcesGenerator.java
 * @since 2019-06-14
 */
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
public class OrderReturnGoodsEntity implements Serializable {

    private static final long serialVersionUID = 1L;


    private Long returnId;

    /**
     * 商场编码
     */
    private String mallCode;

    /**
     * 退货状态（1退货中，2退货成功，3退货失败）
     */
    private Integer returnState;

    /**
     * 审核状态（1待店铺初审 2 初审驳回 3待店铺二审4二审核驳回 5待退赠审核、6三审驳回 7待退款初审、8，待退款复审、9 退款处理中、10退货完成）
     */
    private Integer approveState;

    /**
     * 退货理由类型 | 取自数据字典
     */
    private String returnReasonType;

    /**
     * 退货理由对应其他
     */
    private String returnReason;

    /**
     * json数组 [{"condition":1,"value":1},{}] condition对应条件  value对应选项1:是 0:否
     */
    private String returnCondition;

    /**
     * 订单号
     */
    private String orderNo;

    /**
     * 子订单号
     */
    private String orderSubNo;

    /**
     * 订单归属用户ID
     */
    private String userId;

    /**
     * 手机号
     */
    private String phone;

    /**
     * 用户姓名
     */
    private String realName;

    /**
     * 订单类型[1:秒杀/2:团购/3:活动/4:拼团/5:拼团单独购买]
     */
    private Integer orderType;

    /**
     * 商品名称
     */
    private String commodityName;

    /**
     * 券类型 | 1商品券2代金券4营销平台团购券5品牌券 7互动券
     */
    private Integer commodityType;

    /**
     * 支付渠道（支付宝、微信） 支付方式[3:支付宝APP支付/4:微信APP支付/5:银联APP支付/6:百度钱包APP支付/11:积分支付]
     */
    private Integer payType;

    /**
     * 分账类型( 1代收代付 ，2商场自营)
     */
    private Integer accountsType;

    /**
     * 是否自动积分( 1-是，0-否)
     */
    private Integer autoPoint;

    /**
     * 申请退货数量
     */
    private Integer returnQuality;

    /**
     * 金额
     */
    private BigDecimal returnMoney;

    /**
     * 核销id
     */
    private String consumeId;

    /**
     * 核销码
     */
    private String consumeCode;

    /**
     * 核销时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date consumeTime;

    /**
     * 核销店铺名称
     */
    private String consumeMerchantName;

    /**
     * 核销店铺编码
     */
    private String consumeMerchantCode;

    /**
     * 核销金额
     */
    private BigDecimal consumeAmount;

    /**
     * 用户|运营id
     */
    private String createBy;

    /**
     * 来源枚举(1.app用户 2.admin运营)
     */
    private Integer createSource;

    /**
     * 退款完成时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date completeTime;

    /**
     * 0 生效   1失效（或取消）
     */
    private Integer isDelete;

    /**
     * 创建时间-申请退货时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date createTime;

    /**
     * 更新时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date updateTime;
    /**
     * 核销数量
     */
    private Integer consumeQuality;
    /**
     * 退货退款流水号
     */
    private String returnTradeNo;

    /**
     *  20200408 物流退货
     */
    /**
     * 退货方式（2：快递  5：线下商场）
     */
    private Integer deliverWay;

    /**
     * 退货物流ID
     */
    private Long deliverId;

    /**
     * 核销人（发货操作人）
     */
    private String consumeUserName;

    /**
     * 订单配送方式(2,3,5)
     */
    private Integer orderDeliverWay;

}
